# -*- coding: utf-8 -*-
import os
import os.path


# 第七周作业
# 1、实现一个函数获取一个目录下所有以.py 结尾的文件（包含目录下的子目录中的.py 文件，不要使用 glob 方法进行匹配）
#
# 2、实现一个可迭代的类

def get_py_file(from_path, new_list):
    '''
    :param from_path: 指定目录路径
    :param new_list:  存放该目录下所有以.py 结尾的文件（包含目录下的子目录中的.py 文件)
    '''
    file_list = os.listdir(from_path)  # 获取目录下所有文件
    for filename in file_list:
        file_path = os.path.join(from_path, filename)  # 拼接文件的绝对路径
        if os.path.isdir(file_path):  # 如果文件是目录则继续递归查询
            get_py_file(file_path, new_list)
        elif filename.endswith(".py"):  # 判断文件后缀是不是.py
            new_list.append(file_path)


if __name__ == '__main__':
    new_list = []
    from_path = input('请输入目录路径：')
    print("=============================")
    get_py_file(from_path, new_list)
    print("{}目录下有{}个.py文件,文件如下".format(from_path, len(new_list)))
    for file in new_list:
        print(file)

# 完成的不错。缺点就是没有考虑输入的是不是有效的。第二题围坐